package com.aabte.mp.bean;

import com.baomidou.mybatisplus.annotations.*;
import com.baomidou.mybatisplus.enums.FieldFill;
import com.baomidou.mybatisplus.enums.IdType;
import lombok.Data;
import lombok.ToString;

@Data
@ToString
// 指定序列名称和主键值类型，Oracle
// @KeySequence(value = "seq_employee", clazz = Integer.class)
@TableName(value = "tbl_employee")
public class Employee {

    /**
     * 指定主键字段，及生成策略为自增
     */
    @TableId(type = IdType.AUTO)
    // @TableId(type = IdType.INPUT) // 或全局指定主键生成策略
    private Integer id;

    /**
     * 指定数据库安段名称
     */
    @TableField(value = "last_name")
    private String lastName;
    private String email;

    /**
     * 字段如果为null，自动填充数据
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Integer gender;
    private Integer age;

    /**
     * 逻辑删除字段
     */
    @TableLogic
    private Integer status;

    /**
     * 乐观锁字段
     */
    @Version
    private Integer version;

    /**
     * 数据库中存在的字段
     */
    @TableField(exist = false)
    private Double salary;

}
